tests: Skip /var test if running with systemd and libmount
authorAlex Kiernan <alex.kiernan@gmail.com>
Sun, 29 Dec 2019 13:25:24 +0000 (13:25 +0000)
committerAlex Kiernan <alex.kiernan@gmail.com>
Sun, 29 Dec 2019 14:18:36 +0000 (14:18 +0000)
If running with systemd and libmount then /var mounting is deferred for
systemd. Skip the relevant tests in this case as it will always fail.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
tests/libtest.sh
tests/test-switchroot.sh

index 3f5fd931bc1ebd97784006ef6baf5d69deab6bed..cbdf331cbc88760155ac1c0e6c5d26d9bb8ba4de 100755 (executable)
@@ -559,6 +559,18 @@ skip_without_user_xattrs () {
     fi
 }
 
+_have_systemd_and_libmount=''
+have_systemd_and_libmount() {
+    if test "${_have_systemd_and_libmount}" = ''; then
+        if [ $(ostree --version | grep -c -e '- systemd' -e '- libmount') -eq 2 ]; then
+            _have_systemd_and_libmount=yes
+        else
+            _have_systemd_and_libmount=no
+        fi
+    fi
+    test ${_have_systemd_and_libmount} = yes
+}
+
 # Skip unless SELinux is disabled, or we can relabel.
 # Default Docker has security.selinux xattrs, but returns
 # EOPNOTSUPP when trying to set them, even to the existing value.
index b05b11a43c5d5f00404fe9b4398a12724faad85c..e66c68de9a0707a2787faea5cd9f626c126a4849 100755 (executable)
@@ -82,7 +82,9 @@ test_that_prepare_root_sets_sysroot_up_correctly_with_initrd() {
        grep -qx "/this_is_bootfs" files
        grep -qx "/sysroot/this_is_ostree_root" files
        grep -qx "/sysroot/sysroot/this_is_real_root" files
-       grep -qx "/sysroot/var/this_is_ostree_var" files
+       if ! have_systemd_and_libmount; then
+               grep -qx "/sysroot/var/this_is_ostree_var" files
+       fi
        grep -qx "/sysroot/usr/this_is_ostree_usr" files
 
        grep -qx "/sysroot/usr is not writable" files
@@ -101,7 +103,9 @@ test_that_prepare_root_sets_root_up_correctly_with_no_initrd() {
        grep -qx "/this_is_ostree_root" files
        grep -qx "/sysroot/this_is_bootfs" files
        grep -qx "/sysroot/this_is_real_root" files
-       grep -qx "/var/this_is_ostree_var" files
+       if ! have_systemd_and_libmount; then
+               grep -qx "/var/this_is_ostree_var" files
+       fi
        grep -qx "/usr/this_is_ostree_usr" files
 
        grep -qx "/usr is not writable" files